package Java_promotion_136_228.Java199_205_Lambda;

/*

Lambda表达式要使用，一定要有函数接口的推断环境
1、方法的参数类型来确定是那个函数式接口
2、通过赋值操作来确定是那个函数式接口

Lambda的格式就是为了将抽象方法的头翻译成为一下的三点
1、一些参数（方法参数）
2、一个箭头
3、一些代码（方法体）
*/
//标准Lambda表达式格式
public class demoLambda {
    public static void main(String[] args) {
//调用方法的时候，参数类型是函数式接口，所以Lambda可以推断出是那个接口
        method((int a, int b) -> {
            return a + b;
        });
        //也可以根据赋值语句在左侧的类型来进行Lambda上下文推断

        Calculator param = (int a, int b) -> {
            return a + b;
        };

        method(param);
    }


    public static void method(Calculator calculator) {
        int result = calculator.sum(10, 20);
        System.out.println("结果是：" + result);
    }
}
